package cn.tedu.practice2303.LSS.day0410homework;


import io.Person;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.ObjectInputStream;

/**
 * 将当前目录下的所有obj文件获取到，并进行
 * 反序列化后输出每个用户的信息(直接输出反序
 * 列化后的User对象即可)
 * @author Xiloer
 *
 */
public class Test01 {
    public static void main(String[] args) throws IOException, ClassNotFoundException {
//        File file = new File(".");
//        File[] subs = file.listFiles(o->o.getName().endsWith(".obj"));
//        for (File sub:
//             subs) {
//            FileInputStream fis = new FileInputStream(sub);
//            ObjectInputStream ois = new ObjectInputStream(fis);
//            Object obj = ois.readObject();
//            if (obj instanceof Person) {
//                Person p = (Person) obj;
//                System.out.println(p);
//            }
//        }


        //找到当前目录
        File dir = new File(".");
        //创建一个数组获取.obj后缀的文件
        File[] subs = dir.listFiles((f) -> f.getName().endsWith(".obj"));
        //遍历数组subs
        for (int i = 0; i < subs.length; i++) {
            //从数组中获取每一个obj文件
            File sub = subs[i];//从数组中获取每一个obj文件
            //设置字节流
            FileInputStream fis = new FileInputStream(sub);
            //设置对象流
            ObjectInputStream ois = new ObjectInputStream(fis);
            //创建对象赋值为对象流读读取的数据
            Object obj = ois.readObject();
            //判断obj是向上变形
            if (obj instanceof Person) {
                //将obj的数据赋值给新建person
                Person person = (Person) obj;
                //输出person
                System.out.println(person);
            }
        }
    }
}
